JSquash: Source Code Analysis of Embedded Database Applications for Determining Sql Statements
نویسندگان
چکیده
In this paper, we analyse Java source code of embedded database applications by means of static code analysis. If the underlying database schema is changed due to refactoring or database tuning, then the SQL statements in the embedding Java program need to be adapted correspondingly. This should be done mostly automatically, since changing software manually is error–prone and time consuming. For determining the SQL statements that access the database, we can either look at the database logfile, an audit file, or at the Java source code itself. Here, we show how to statically determine even the strings for dynamically built SQL statements directly from the Java source code. We do this without using a debugger or a virtual machine technique; instead, we trace the values of variables that contribute to a query string backwards to predict the values as precisely as possible. We use PROLOG’s declarative features and its backtracking mechanism for code analysis, refactoring, and tuning.
منابع مشابه
Agent Systems in Software Engineering
During the last decade the continuous growth of the Web resulted in a significant development shift from simple types of software applications to distributed multi-tier web-based applications. In general, distributed systems are by nature more complex than centralized systems. As a result, the software engineering tasks of these systems are also complicated. Unlike traditional software applicat...
متن کاملSource Code Generator Based on a Proprietary Specification Language
An application generator has resulted from the authors' efforts to improve the development of interactive database applications. The developed tool is based on a meta-base. The meta-base comprises an extended data model, the programming language description and some additional information to support the generation process. The procedures described in a proprietary specification language serve t...
متن کاملSQLPrevent: Effective Dynamic Detection and Prevention of SQL Injection Attacks Without Access to the Application Source Code
This paper presents an effective approach for detecting and preventing known as well as novel SQL injection attacks. Unlike existing approaches, ours (1) is resistant to evasion techniques, such as hexadecimal encoding or inline comment, (2) does not require analysis or modification of the application source code, (3) does not need training traces, (4) does not require modification of the runti...
متن کاملSQLPrevent: Effective dynamic detection and prevention of SQL injection
This paper presents an approach for retrofitting existing web applications with run-time protection against known as well as unseen SQL injection attacks (SQLIAs). This approach (1) is resistant to evasion techniques, such as hexadecimal encoding or inline comment, (2) does not require analysis or modification of the application source code, (3) does not require modification of the runtime envi...
متن کاملSQL Code Complexity Analysis
Structured Query Language (SQL) is a database computer language designed for managing data in relational database management systems, and originally based upon Relational Algebra. Its scope includes data query and update, schema creation and modification, and data access control. Since 1970 SQL became the most widely used language for relational databases, and based upon the declarative paradig...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2009